gdkgears: add a way to remove gears
authorMatthias Clasen <mclasen@redhat.com>
Thu, 18 Jan 2018 00:47:45 +0000 (19:47 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 18 Jan 2018 00:47:45 +0000 (19:47 -0500)
This is needed to test the GL resource cleanup
code paths.

tests/gdkgears.c

index 65c4f12fb184c2aec8c7ee6472b01efb94f30746..56b5076b133347bd01bee1d08c265e26e20a025e 100644 (file)
@@ -96,6 +96,17 @@ moar_gears (GtkButton *button, gpointer data)
   gtk_widget_show (gears);
 }
 
+static void
+less_gears (GtkButton *button, gpointer data)
+{
+  GtkContainer *container = GTK_CONTAINER (data);
+  GtkWidget *gears;
+
+  gears = gtk_widget_get_last_child (GTK_WIDGET (container));
+  if (gears)
+    gtk_widget_destroy (gears);
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -213,11 +224,15 @@ main (int argc, char *argv[])
   gtk_widget_show (bbox);
 
   button = gtk_button_new_with_label ("Moar gears!");
-  gtk_widget_set_hexpand (button, TRUE);
   gtk_container_add (GTK_CONTAINER (bbox), button);
   g_signal_connect (button, "clicked", G_CALLBACK (moar_gears), extra_hbox);
   gtk_widget_show (button);
 
+  button = gtk_button_new_with_label ("Less gears!");
+  gtk_container_add (GTK_CONTAINER (bbox), button);
+  g_signal_connect (button, "clicked", G_CALLBACK (less_gears), extra_hbox);
+  gtk_widget_show (button);
+
   button = gtk_button_new_with_label ("Quit");
   gtk_widget_set_hexpand (button, TRUE);
   gtk_container_add (GTK_CONTAINER (bbox), button);